#ifndef COLOR_LANE_SENSOR_H
#define COLOR_LANE_SENSOR_H

#include "Sensor.hpp"
#include "Side.hpp"

/**
 * This sensor detects the color of the ground below.
 * Used to keep the robot following a colored lane.
 */
class ColorLaneSensor : public Sensor
{
public:
	/**
	 * Constructor.
	 * @param side the side the sensor is placed on
	 */
	ColorLaneSensor(Side side);

	/**
	 * Returns the side the sensor is placed.
	 * @see side.hpp
	 * @return sensor's side.
	 */
	Side getSide();

	/**
	 * Not yet implemented!.
	 * Will return true when the robot is on a white lane, false when it isn't.
	 */
	virtual bool poll();

	/**
	 * Get the type of the sensor.
	 * @see SensorType.hpp
	 * @return sensor's type, as enumerated in SensorType.
	 */
	virtual SensorType getSensorType();
private:
	Side side;
};
#endif
